package tt.dz.appserver.service.business;

import java.util.List;


import org.apache.avro.AvroRemoteException;

import com.alibaba.fastjson.JSONObject;

import tt.dz.appserver.entity.model.ResultMappingEntity;
import tt.dz.appserver.entity.vo.station.StationCommentInfoVo;
import tt.dz.appserver.entity.vo.station.StationCommentReplyInfoVo;

/**
 * 站点列表接口
 * @author Administrator
 *
 */
public interface StationService {

	
	/**
	 * 获取站点数据包
	 * @return
	 */
	public ResultMappingEntity getStationDataPackage() throws Exception;
	
	/**
	 * 更新站点数据包
	 * @param provinceId
	 * @return
	 * @throws AvroRemoteException
	 */
	public JSONObject updateStationDataPackage(String provinceId) throws Exception;
	
	/**
	 * 收藏站点
	 * @param userId
	 * @param stationId
	 * @return
	 */
	public JSONObject collectionStation(String userId, String stationId) throws AvroRemoteException;
	
	/**
	 * 获取站点的详细信息
	 * @param stationId
	 * @return
	 * @throws AvroRemoteException
	 */
	public JSONObject getStationDetailByStationId(String stationId, String userId) throws AvroRemoteException;
	
	
	/**
	 * 站点评论
	 * @param stationId
	 * @param userId
	 * @return
	 */
	public StationCommentInfoVo stationComment(String stationId, String userId, String content, Integer grade, String address);
	
	/**
	 * 站点评论列表
	 * @param stationId
	 * @param pageNo
	 * @param userId 
	 * @return
	 */
	public List<StationCommentInfoVo> stationCommentList(String stationId, Integer pageNo,String userId);

		/**
	 * 站点评论点赞
	 * @param userId
	 * @param shareId
	 * @return
	 */
	public ResultMappingEntity stationThumbUp(String userId, String commentId);
	
	public ResultMappingEntity stationCommentReplyThumbUp(String userId, String replyId);
	/**
	 * 站点评论
	 * @param userId
	 * @param commentId
	 * @param replyUserId
	 * @param content
	 * @param address
	 * @return
	 */
	public ResultMappingEntity stationCommentReply(String userId, String commentId, String replyUserId, String content, String address,String stationId,int garde);	
	
	/**
	 * 删除回复
	 * @param userId
	 * @param commentId
	 * @param replyId
	 * @return
	 */
	public ResultMappingEntity deleteStationReply(String userId,String commentId,String replyId);
	
	/**
	 * 查看评论的所有回复
	 * @param userId
	 * @param commentId
	 * @param replyId
	 * @return
	 */
	public List<StationCommentReplyInfoVo> getStationReplyByCommentId( String commentId,String userId,Integer pageNo);
	
	/**
	 * 按坐标查询站点
	 * @param latitude 经度
	 * @param longtitude 纬度
	 * @param number 查询数量
	 * @param locaLatitude 当前位置纬度
	 * @param locaLongtitude 当前位置经度
	 * @return
	 */
	public ResultMappingEntity getStationByCoordinate(String latitude, String longtitude, Integer number,
			String locaLatitude,String locaLongtitude) throws AvroRemoteException ;
	
	/**
	 * 按地址查询坐标
	 * @param name 城市名称
	 * @param cityCode 城市代码
	 * @return
	 */
	public ResultMappingEntity getStationByName(String name, String cityCode,String latitude, String longtitude) throws AvroRemoteException ;

	public ResultMappingEntity collectionStationList(String userId,Integer pageNo ) throws AvroRemoteException ;
	
	
}
